package megrez.bussiness.system.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import megrez.bussiness.system.entity.Dept;

/**
 * 部门数据接口
 *  
 * @author Lucky Yang
 * @since 0.0.1
 */
public interface DeptRepository extends JpaRepository<Dept, Long>, JpaSpecificationExecutor<Dept> {


    /**
     * 查询顶级部门
     * 
     * @return
     */
    List<Dept> findByParentIsNull();

    /**
     * 统计子部门数量
     * 
     * @param parent 父部门
     * @return
     */
    int countByParent(Dept parent);

    /**
     * 查询
     * 
     * @param parent 父部门
     * @return
     */
    List<Dept> findByParent(Dept parent);

    /**
     * 查询
     * 
     * @param pathcode 代码路径
     * @return
     */
    List<Dept> findByPathCodeLike(String pathcode);
}
